\name{execute}
\title{Executes the analysis pipeline defined by the action in the ProtocolApplication...}
\description{Executes the analysis pipeline defined by the action in the ProtocolApplication}
\details{For details on defining an analysis pipeline see the package vingette.
\code{execute} has two different behaviors, if the action of the protocol application is \code{\link{protocolList}}
input data and parameters are ignored. Instead the child protocol applications specified in the protocol 
definition are created and executed in the order in which they appeared.

For any other action a set of input data is loaded into memory and the action is applied to the data.
It is assumed that the order of input data in a set matches the order of parameters to the action. The first
parameter is the protocol application, which is implicit.
The value returned by the action is either written to the global R environment or to disk, if the
parameter \code{outputData} is set in the protocol definition. The name of the variable or file containing the
output data is given by:
The name of the protocol application, the action executed and the position of the input data set in the list of
input data sets, starting with 1, all separated by an underscore
These steps will be iterated over the list of input data sets.
If no input data is specified the action is executed only once with the protocol application as the only parameter.
Actions with no input data can useful for generating artificial data sets. The handling of output data is the
same as in the case with input data present, except for the list position which is not appended to the base file 
name.}
\value{execute invisibly returns NULL}
\author{Bastian R. Angermann \email{angerb@gmx.de}}
\alias{execute}
\alias{execute-methods}
\alias{execute,ProtocolApplication-method}
\arguments{\item{protocolApplication}{The protocol application to be executed.}}
